Skip Headers

Oracle® Data Provider for .NET Developer's Guide 10g Release 2 (10.2) Part Number B14307-01 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# OracleDecimal Structure

The `OracleDecimal` structure represents an Oracle `NUMBER` in the database or any Oracle numeric value.

Class Inheritance

`Object`

`ValueType`

`OracleDecimal`

Declaration

    // C#
    public struct OracleDecimal : IComparable

Thread Safety

All public static methods are thread-safe, although instance methods do not guarantee thread safety.

Remarks

`OracleDecimal` can store up to 38 precision, while the .NET `Decimal` datatype can only hold up to 28 precision. When accessing the `OracleDecimal.Value` property from an `OracleDecimal` that has a value greater than 28 precision, loss of precision can occur. To retrieve the actual value of `OracleDecimal`, use the `OracleDecimal.ToString()` method. Another approach is to obtain the `OracleDecimal` value as a byte array in an internal Oracle `NUMBER` format through the `BinData` property.

Example

    // C#

    using System;
    using Oracle.DataAccess.Types;

    class OracleDecimalSample
    {
      static void Main(string[] args)
      {
        // Illustrates the range of OracleDecimal vs. .NET decimal
        OracleDecimal decimal1 = OracleDecimal.MinValue;
        OracleDecimal decimal2 = OracleDecimal.MaxValue;
        OracleDecimal decimal3 = new OracleDecimal(decimal.MinValue);
        OracleDecimal decimal4 = new OracleDecimal(decimal.MaxValue);

        // Print the ranges
        Console.WriteLine("OracleDecimal can range from\n{0}\nto\n{1}\n",
          decimal1, decimal2);
        Console.WriteLine(".NET decimal can range from\n{0}\nto\n{1}",
          decimal3, decimal4);
      }
    }

Requirements

Namespace: `Oracle.DataAccess.Types`

Assembly: `Oracle.DataAccess.dll`

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Constructors OracleDecimal Static Fields OracleDecimal Static (Comparison) Methods OracleDecimal Static (Manipulation) Methods OracleDecimal Static (Logarithmic) Methods OracleDecimal Static (Trigonometric) Methods OracleDecimal Static (Comparison) Operators OracleDecimal Static Operators (Conversion from .NET Type to OracleDecimal) OracleDecimal Static Operators (Conversion from OracleDecimal to .NET) OracleDecimal Properties OracleDecimal Instance Methods

## OracleDecimal Members

`OracleDecimal` members are listed in the following tables:

OracleDecimal Constructors

`OracleDecimal` constructors are listed in Table 11-27

Table 11-27 OracleDecimal Constructors

Constructor | Description
--- | ---
OracleDecimal Constructors | Instantiates a new instance of `OracleDecimal` structure (Overloaded)

OracleDecimal Static Fields

The `OracleDecimal` static fields are listed in Table 11-28.

Table 11-28 OracleDecimal Static Fields

Field | Description
--- | ---
MaxPrecision | A constant representing the maximum precision, which is 38
MaxScale | A constant representing the maximum scale, which is 127
MaxValue | A constant representing the maximum value for this structure, which is 9.9…9 x 10125
MinScale | A constant representing the minimum scale, which is -84
MinValue | A constant representing the minimum value for this structure, which is -1.0 x 10130
NegativeOne | A constant representing the negative one value
Null | Represents a null value that can be assigned to an `OracleDecimal` instance
One | A constant representing the positive one value
Pi | A constant representing the numeric Pi value
Zero | A constant representing the zero value

OracleDecimal Static (Comparison) Methods

The `OracleDecimal` static (comparison) methods are listed in Table 11-29.

Table 11-29 OracleDecimal Static (Comparison) Methods

Methods | Description
--- | ---
Equals | Determines if two `OracleDecimal` values are equal (Overloaded)
GreaterThan | Determines if the first of two `OracleDecimal` values is greater than the second
GreaterThanOrEqual | Determines if the first of two `OracleDecimal` values is greater than or equal to the second
LessThan | Determines if the first of two `OracleDecimal` values is less than the second
LessThanOrEqual | Determines if the first of two `OracleDecimal` values is less than or equal to the second.
NotEquals | Determines if two `OracleDecimal` values are not equal

OracleDecimal Static (Manipulation) Methods

The `OracleDecimal` static (manipulation) methods are listed in Table 11-30.

Table 11-30 OracleDecimal Static (Manipulation) Methods

Methods | Description
--- | ---
Abs | Returns the absolute value of an `OracleDecimal`
Add | Adds two `OracleDecimal` structures
AdjustScale | Returns a new `OracleDecimal` with the specified number of digits and indicates whether or not to round or truncate the number if the scale is less than original
Ceiling | Returns a new `OracleDecimal` structure with its value set to the ceiling of an `OracleDecimal` structure
ConvertToPrecScale | Returns a new `OracleDecimal` structure with a new precision and scale
Divide | Divides one `OracleDecimal` value by another
Floor | Returns a new `OracleDecimal` structure with its value set to the floor of an `OracleDecimal` structure
Max | Returns the maximum value of the two supplied `OracleDecimal` structures
Min | Returns the minimum value of the two supplied `OracleDecimal` structures
Mod | Returns a new `OracleDecimal` structure with its value set to the modulus of two `OracleDecimal` structures
Multiply | Returns a new `OracleDecimal` structure with its value set to the result of multiplying two `OracleDecimal` structures
Negate | Returns a new `OracleDecimal` structure with its value set to the negation of the supplied `OracleDecimal` structure
Parse | Converts a `string` to an `OracleDecimal`
Round | Returns a new `OracleDecimal` structure with its value set to that of the supplied `OracleDecimal` structure and rounded off to the specified place
SetPrecision | Returns a new `OracleDecimal` structure with a new specified precision.
Shift | Returns a new `OracleDecimal` structure with its value set to that of the supplied `OracleDecimal` structure, and its decimal place shifted to the specified number of places to the right
Sign | Determines the sign of an `OracleDecimal` structure
Sqrt | Returns a new `OracleDecimal` structure with its value set to the square root of the supplied `OracleDecimal` structure
Subtract | Returns a new `OracleDecimal` structure with its value set to result of subtracting one `OracleDecimal` structure from another
Truncate | Truncates the `OracleDecimal` at a specified position

OracleDecimal Static (Logarithmic) Methods

The `OracleDecimal` static (logarithmic) methods are listed in Table 11-31.

Table 11-31 OracleDecimal Static (Logarithmic) Methods

Methods | Description
--- | ---
Exp | Returns a new `OracleDecimal` structure with its value set to e raised to the supplied power
Log | Returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure (Overloaded)
Pow | Returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` structure raised to the supplied power (Overloaded)

OracleDecimal Static (Trigonometric) Methods

The `OracleDecimal` static (trigonometric) methods are listed in Table 11-32.

Table 11-32 OracleDecimal Static (Trigonometric) Methods

Methods | Description
--- | ---
Acos | Returns an angle in radian whose cosine is the supplied `OracleDecimal` structure
Asin | Returns an angle in radian whose sine is the supplied `OracleDecimal` structure
Atan | Returns an angle in radian whose tangent is the supplied `OracleDecimal` structure
Atan2 | Returns an angle in radian whose tangent is the quotient of the two supplied `OracleDecimal` structures
Cos | Returns the cosine of the supplied angle in radian
Sin | Returns the sine of the supplied angle in radian
Tan | Returns the tangent of the supplied angle in radian
Cosh | Returns the hyperbolic cosine of the supplied angle in radian
Sinh | Returns the hyperbolic sine of the supplied angle in radian
Tanh | Returns the hyperbolic tangent of the supplied angle in radian

OracleDecimal Static (Comparison) Operators

The `OracleDecimal` static (comparison) operators are listed in Table 11-33.

Table 11-33 OracleDecimal Static (Comparison) Operators

Operator | Description
--- | ---
operator + | Adds two `OracleDecimal` values
operator / | Divides one `OracleDecimal` value by another
operator == | Determines if the two `OracleDecimal` values are equal
operator > | Determines if the first of two `OracleDecimal` values is greater than the second
operator >= | Determines if the first of two `OracleDecimal` values is greater than or equal to the second
operator != | Determines if the two `OracleDecimal` values are not equal
operator < | Determines if the first of two `OracleDecimal` values is less than the second
operator <= | Determines if the first of two `OracleDecimal` values is less than or equal to the second
operator * | Multiplies two `OracleDecimal` structures
operator - | Subtracts one `OracleDecimal` structure from another
operator - | Negates an `OracleDecimal` structure
operator% | Returns a new `OracleDecimal` structure with its value set to the modulus of two `OracleDecimal` structures.

OracleDecimal Static Operators (Conversion from .NET Type to OracleDecimal)

The `OracleDecimal` static operators (Conversion from .NET Type to `OracleDecimal`) are listed in Table 11-34.

Table 11-34 OracleDecimal Static Operators (Conversion from .NET Type to OracleDecimal)

Operator | Description
--- | ---
implicit operator OracleDecimal | Converts an instance value to an `OracleDecimal` structure (Overloaded)
explicit operator OracleDecimal | Converts an instance value to an `OracleDecimal` structure (Overloaded)

OracleDecimal Static Operators (Conversion from OracleDecimal to .NET)

The `OracleDecimal` static operators (Conversion from `OracleDecimal` to .NET) are listed in Table 11-35.

Table 11-35 OracleDecimal Static Operators (Conversion from OracleDecimal to .NET)

Operator | Description
--- | ---
explicit operator byte | Returns the `byte` representation of the `OracleDecimal` value
explicit operator decimal | Returns the `decimal` representation of the `OracleDecimal` value
explicit operator double | Returns the `double` representation of the `OracleDecimal` value
explicit operator short | Returns the `short` representation of the `OracleDecimal` value
explicit operator int | Returns the `int` representation of the `OracleDecimal` value
explicit operator long | Returns the `long` representation of the `OracleDecimal` value
explicit operator float | Returns the `float` representation of the `OracleDecimal` value

OracleDecimal Properties

The `OracleDecimal` properties are listed in Table 11-36.

Table 11-36 OracleDecimal Properties

Properties | Description
--- | ---
BinData | Returns a byte array that represents the Oracle `NUMBER` in Oracle internal format
Format | Specifies the format for `ToString()`
IsInt | Indicates whether or not the current instance is an integer
IsNull | Indicates whether or not the current instance has a null value
IsPositive | Indicates whether or not the current instance is greater than `0`
IsZero | Indicates whether or not the current instance has a `zero` value
Value | Returns a `decimal` value

OracleDecimal Instance Methods

The `OracleDecimal` instance methods are listed in Table 11-37.

Table 11-37 OracleDecimal Instance Methods

Method | Description
--- | ---
CompareTo | Compares the current instance to the supplied object and returns an integer that represents their relative values
Equals | Determines whether or not an object is an instance of `OracleDecimal`, and whether or not the value of the object is equal to the current instance (Overloaded)
GetHashCode | Returns a hash code for the current instance
GetType | Inherited from `Object`
ToByte | Returns the `byte` representation of the current instance
ToDouble | Returns the `double` representation of the current instance
ToInt16 | Returns the `Int16` representation of the current instance
ToInt32 | Returns the `Int32` representation of the current instance
ToInt64 | Returns the `Int64` representation of the current instance
ToSingle | Returns the `Single` representation of the current instance
ToString | Overloads `Object.ToString()` Returns the `string` representation of the current instance

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Structure

## OracleDecimal Constructors

The `OracleDecimal` constructors instantiate a new instance of the `OracleDecimal` structure.

Overload List:

- OracleDecimal(byte [ ])

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied byte array, which is in an Oracle `NUMBER` format.

- OracleDecimal(decimal)

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Decimal` value.

- OracleDecimal(double)

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `double` value.

- OracleDecimal(int)

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Int32` value.

- OracleDecimal(float)

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Single` value.

- OracleDecimal(long)

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Int64` value.

- OracleDecimal(string)

  This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `string` value.

- OracleDecimal(string, string)

  This constructor creates a new instance of the `OracleDecimal` structure with the supplied `string` value and number format.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(byte [ ])

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied byte array, which is in an Oracle `NUMBER` format.

Declaration

    // C#
    public OracleDecimal(byte [] bytes);

Parameters

- `bytes`

  A byte array that represents an Oracle `NUMBER` in an internal Oracle format.

Exceptions

`ArgumentException` - The `bytes` parameter is not in a internal Oracle `NUMBER` format or `bytes` has an invalid value.

`ArgumentNullException` - The `bytes` parameter is null.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(decimal)

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Decimal` value.

Declaration

    // C#
    public OracleDecimal(decimal decX);

Parameters

- `decX`

  The provided `Decimal` value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(double)

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `double` value.

Declaration

    // C#
    public OracleDecimal(double doubleX)

Parameters

- `doubleX`

  The provided double value.

Exceptions

`OverFlowException` - The value of the supplied `double` is greater than the maximum value or less than the minimum value of `OracleDecimal`.

Remarks

`OracleDecimal` contains the following values depending on the provided double value:

- `double.PositiveInfinity`: positive infinity value

- `double.NegativeInfinity`: negative infinity value.

- `double.NaN`: null value

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(int)

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Int32` value.

Declaration

    // C#
    public OracleDecimal(int intX);

Parameters

- `intX`

  The provided `Int32` value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(float)

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Single` value.

Declaration

    // C#
    public OracleDecimal(float floatX);

Parameters

- `floatX`

  The provided `float` value.

Remarks

`OracleDecimal` contains the following values depending on the provided `float` value:

`float.PositiveInfinity`: positive infinity value

`float.NegativeInfinity`: negative infinity value

`float.NaN`: null value

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(long)

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `Int64` value.

Declaration

    // C#
    public OracleDecimal(long longX);

Parameters

- `longX`

  The provided `Int64` value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### OracleDecimal(string)

This constructor creates a new instance of the `OracleDecimal` structure and sets its value to the supplied `string` value.

Declaration

    // C#
    public OracleDecimal(string numStr);

Parameters

- `numStr`

  The provided `string` value.

Exceptions

`ArgumentException` - The `numStr` parameter is an invalid string representation of an `OracleDecimal`.

`ArgumentNullException` - The `numStr` parameter is null.

`OverFlowException` - The value of `numStr` is greater than the maximum value or less than the minimum value of `OracleDecimal`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure "OracleGlobalization Class" "Globalization Support"

### OracleDecimal(string, string)

This constructor creates a new instance of the `OracleDecimal` structure with the supplied `string` value and number format.

Declaration

    // C#
    public OracleDecimal(string numStr, string format);

Parameters

- `numStr`

  The provided `string` value.

- `format`

  The provided number `format`.

Exceptions

`ArgumentException` - The `numStr` parameter is an invalid string representation of an `OracleDecimal` or the `numStr` is not in the numeric format specified by `format`.

`ArgumentNullException` - The `numStr` parameter is null.

`OverFlowException` - The value of `numStr` parameter is greater than the maximum value or less than the minimum value of `OracleDecimal`.

Remarks

If the numeric format includes decimal and group separators, then the provided string must use those characters defined by the `OracleGlobalization`.`NumericCharacters` of the thread.

If the numeric format includes the currency symbol, ISO currency symbol, or the dual currency symbol, then the provided string must use those symbols defined by the `OracleGlobalization.Currency`, `OracleGlobalization`.`ISOCurrency`, and `OracleGlobalization`.`DualCurrency` properties respectively.

Example

    // C#

    using System;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;

    class OracleDecimalSample
    {
      static void Main(string[] args)
      {
        // Set the nls parameters related to currency
        OracleGlobalization info = OracleGlobalization.GetClientInfo();
        info.Currency = "$";
        info.NumericCharacters = ".,";
        OracleGlobalization.SetThreadInfo(info);

        // Construct an OracleDecimal using a valid numeric format
        OracleDecimal dec = new OracleDecimal("$2,222.22","L9G999D99");

        // Print "$2,222.22"
        Console.WriteLine(dec.ToString());
      }
    }

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure "OracleGlobalization Class" "Globalization Support"

## OracleDecimal Static Fields

The `OracleDecimal` static fields are listed in Table 11-38.

Table 11-38 OracleDecimal Static Fields

Field | Description
--- | ---
MaxPrecision | A constant representing the maximum precision, which is 38
MaxScale | A constant representing the maximum scale, which is 127
MaxValue | A constant representing the maximum value for this structure, which is 9.9…9 x 10125
MinScale | A constant representing the minimum scale, which is -84
MinValue | A constant representing the minimum value for this structure, which is -1.0 x 10130
NegativeOne | A constant representing the negative one value
Null | Represents a null value that can be assigned to an `OracleDecimal` instance
One | A constant representing the positive one value
Pi | A constant representing the numeric Pi value
Zero | A constant representing the zero value

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### MaxPrecision

This static field represents the maximum precision, which is 38.

Declaration

    // C#
    public static readonly byte MaxPrecision;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### MaxScale

This static field a constant representing the maximum scale, which is 127.

Declaration

    // C#
    public static readonly byte MaxScale;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### MaxValue

This static field indicates a constant representing the maximum value for this structure, which is 9.9…9 x 10125 (38 nines followed by 88 zeroes).

Declaration

    // C#
    public static readonly OracleDecimal MaxValue;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### MinScale

This static field indicates a constant representing the maximum scale, which is -84.

Declaration

    // C#
    public static readonly int MinScale;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### MinValue

This static field indicates a constant representing the minimum value for this structure, which is -1.0 x 10130.

Declaration

    // C#
    public static readonly OracleDecimal MinValue;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### NegativeOne

This static field indicates a constant representing the negative one value.

Declaration

    // C#
    public static readonly OracleDecimal NegativeOne;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Null

This static field represents a null value that can be assigned to an `OracleDecimal` instance.

Declaration

    // C#
    public static readonly OracleDecimal Null;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### One

This static field indicates a constant representing the positive one value.

Declaration

    // C#
    public static readonly OracleDecimal One;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Pi

This static field indicates a constant representing the numeric Pi value.

Declaration

    // C#
    public static readonly OracleDecimal Pi;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Zero

This static field indicates a constant representing the zero value.

Declaration

    // C#
    public static readonly OracleDecimal Zero;

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Static (Comparison) Methods

The `OracleDecimal` static (comparison) methods are listed in Table 11-39.

Table 11-39 OracleDecimal Static (Comparison) Methods

Methods | Description
--- | ---
Equals | Determines if two `OracleDecimal` values are equal (Overloaded)
GreaterThan | Determines if the first of two `OracleDecimal` values is greater than the second
GreaterThanOrEqual | Determines if the first of two `OracleDecimal` values is greater than or equal to the second
LessThan | Determines if the first of two `OracleDecimal` values is less than the second
LessThanOrEqual | Determines if the first of two `OracleDecimal` values is less than or equal to the second.
NotEquals | Determines if two `OracleDecimal` values are not equal

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Equals

This method determines if two `OracleDecimal` values are equal.

Declaration

    // C#
    public static bool Equals(OracleDecimal value1, OracleDecimal value2);

Parameters

- `value1`

  The first `OracleDecimal`.

- `value2`

  The second `OracleDecimal`.

Return Value

Returns `true` if two `OracleDecimal` values are equal; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### GreaterThan

This method determines if the first of two `OracleDecimal` values is greater than the second.

Declaration

    // C#
    public static bool GreaterThan(OracleDecimal value1, OracleDecimal value2);

Parameters

- `value1`

  The first `OracleDecimal`.

- `value2`

  The second `OracleDecimal.`

Return Value

Returns `true` if the first of two `OracleDecimal` values is greater than the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### GreaterThanOrEqual

This method determines if the first of two `OracleDecimal` values is greater than or equal to the second.

Declaration

    // C#
    public static bool GreaterThanOrEqual(OracleDecimal value1, OracleDecimal value2);

Parameters

- `value1`

  The first `OracleDecimal`.

- `value2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the first of two `OracleDecimal` values is greater than or equal to the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### LessThan

This method determines if the first of two `OracleDecimal` values is less than the second.

Declaration

    // C#
    public static bool LessThan(OracleDecimal value1, OracleDecimal value2);

Parameters

- `value1`

  The first `OracleDecimal`.

- `value2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the first of two `OracleDecimal` values is less than the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### LessThanOrEqual

This method determines if the first of two `OracleDecimal` values is less than or equal to the second.

Declaration

    // C#
    public static bool LessThanOrEqual(OracleDecimal value1, OracleDecimal value2);

Parameters

- `value1`

  The first `OracleDecimal`.

- `value2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the first of two `OracleDecimal` values is less than or equal to the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### NotEquals

This method determines if two `OracleDecimal` values are not equal.

Declaration

    // C#
    public static bool NotEquals(OracleDecimal value1, OracleDecimal value2);

Parameters

- `value1`

  The first `OracleDecimal`.

- `value2`

  The second `OracleDecimal`.

Return Value

Returns `true` if two `OracleDecimal` values are not equal; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Static (Manipulation) Methods

The `OracleDecimal` static (manipulation) methods are listed in Table 11-40.

Table 11-40 OracleDecimal Static (Manipulation) Methods

Methods | Description
--- | ---
Abs | Returns the absolute value of an `OracleDecimal`
Add | Adds two `OracleDecimal` structures
AdjustScale | Returns a new `OracleDecimal` with the specified number of digits and indicates whether or not to round or truncate the number if the scale is less than original
Ceiling | Returns a new `OracleDecimal` structure with its value set to the ceiling of an `OracleDecimal` structure
ConvertToPrecScale | Returns a new `OracleDecimal` structure with a new precision and scale
Divide | Divides one `OracleDecimal` value by another
Floor | Returns a new `OracleDecimal` structure with its value set to the floor of an `OracleDecimal` structure
Max | Returns the maximum value of the two supplied `OracleDecimal` structures
Min | Returns the minimum value of the two supplied `OracleDecimal` structures
Mod | Returns a new `OracleDecimal` structure with its value set to the modulus of two `OracleDecimal` structures
Multiply | Returns a new `OracleDecimal` structure with its value set to the result of multiplying two `OracleDecimal` structures
Negate | Returns a new `OracleDecimal` structure with its value set to the negation of the supplied `OracleDecimal` structure
Parse | Converts a `string` to an `OracleDecimal`
Round | Returns a new `OracleDecimal` structure with its value set to that of the supplied `OracleDecimal` structure and rounded off to the specified place
SetPrecision | Returns a new `OracleDecimal` structure with a new specified precision.
Shift | Returns a new `OracleDecimal` structure with its value set to that of the supplied `OracleDecimal` structure, and its decimal place shifted to the specified number of places to the right
Sign | Determines the sign of an `OracleDecimal` structure
Sqrt | Returns a new `OracleDecimal` structure with its value set to the square root of the supplied `OracleDecimal` structure
Subtract | Returns a new `OracleDecimal` structure with its value set to result of subtracting one `OracleDecimal` structure from another
Truncate | Truncates the `OracleDecimal` at a specified position

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Abs

This method returns the absolute value of an `OracleDecimal`.

Declaration

    // C#
    public static OracleDecimal Abs(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal`.

Return Value

The absolute value of an `OracleDecimal`.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Add

This method adds two `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Add(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns an `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### AdjustScale

This method returns a new `OracleDecimal` with the specified number of digits and indicates whether or not to round or truncate the number if the scale is less than the original.

Declaration

    // C#
    public static OracleDecimal AdjustScale(OracleDecimal val, int digits,
         bool fRound);

Parameters

- `val`

  An `OracleDecimal`.

- `digits`

  The number of digits.

- `fRound`

  Indicates whether or not to round or truncate the number. Setting it to `true` rounds the number and setting it to `false` truncates the number.

Return Value

An `OracleDecimal`.

Remarks

If the supplied `OracleDecimal` has a null value, the returned `OracleDecimal` has a null value.

Example

    // C#

    using System;
    using Oracle.DataAccess.Types;

    class AdjustScaleSample
    {
      static void Main(string[] args)
      {
        OracleDecimal dec1 = new OracleDecimal(5.555);

        // Adjust Scale to 2 with rounding off
        OracleDecimal dec2 = OracleDecimal.AdjustScale(dec1, 2, true);

        // Prints 5.56
        Console.WriteLine(dec2.ToString());

        // Adjust Scale to 2 with truncation
        OracleDecimal dec3 = OracleDecimal.AdjustScale(dec1, 2, false);

        // Prints 5.55
        Console.WriteLine(dec3.ToString());
      }
    }

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Ceiling

This method returns a new `OracleDecimal` structure with its value set to the ceiling of the supplied `OracleDecimal`.

Declaration

    // C#
    public static OracleDecimal Ceiling(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal`.

Return Value

A new `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ConvertToPrecScale

This method returns a new `OracleDecimal` structure with a new precision and scale.

Declaration

    // C#
    public static OracleDecimal ConvertToPrecScale(OracleDecimal val
        int precision, int scale);

Parameters

- `val`

  An `OracleDecimal` structure.

- `precision`

  The precision. Range of precision is 1 to 38.

- `scale`

  The number of digits to the right of the decimal point. Range of scale is -84 to 127.

Return Value

A new `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` has a null value, the returned `OracleDecimal` has a null value.

Example

    // C#

    using System;
    using Oracle.DataAccess.Types;

    class ConvertToPrecScaleSample
    {
      static void Main(string[] args)
      {
        OracleDecimal dec1 = new OracleDecimal(555.6666);

        // Set the precision of od to 5 and scale to 2
        OracleDecimal dec2 = OracleDecimal.ConvertToPrecScale(dec1,5,2);

        // Prints 555.67
        Console.WriteLine(dec2.ToString());

        // Set the precision of od to 3 and scale to 0
        OracleDecimal dec3 = OracleDecimal.ConvertToPrecScale(dec1,3,0);

        // Prints 556
        Console.WriteLine(dec3.ToString());
      }
    }

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Divide

This method divides one `OracleDecimal` value by another.

Declaration

    // C#
    public static OracleDecimal Divide(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  An `OracleDecimal`.

- `val2`

  An `OracleDecimal`.

Return Value

A new `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Floor

This method returns a new `OracleDecimal` structure with its value set to the floor of the supplied `OracleDecimal` structure.

Declaration

    // C#
    public static OracleDecimal Floor(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A new `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Max

This method returns the maximum value of the two supplied `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Max(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  An `OracleDecimal` structure.

- `val2`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal` structure that has the greater value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Min

This method returns the minimum value of the two supplied `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Min(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  An `OracleDecimal` structure.

- `val2`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal` structure that has the smaller value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Mod

This method returns a new `OracleDecimal` structure with its value set to the modulus of two `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Mod(OracleDecimal val1, OracleDecimal divider);

Parameters

- `val1`

  An `OracleDecimal` structure.

- `divider`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal`.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Multiply

This method returns a new `OracleDecimal` structure with its value set to the result of multiplying two `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Multiply(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  An `OracleDecimal` structure.

- `val2`

  An `OracleDecimal` structure.

Return Value

A new `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Negate

This method returns a new `OracleDecimal` structure with its value set to the negation of the supplied `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Negate(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A new `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Parse

This method converts a `string` to an `OracleDecimal`.

Declaration

    // C#
    public static OracleDecimal Parse (string str);

Parameters

- `str`

  The string being converted.

Return Value

A new `OracleDecimal` structure.

Exceptions

`ArgumentException` - The `numStr` parameter is an invalid string representation of an `OracleDecimal`.

`ArgumentNullException` - The `numStr` parameter is null.

`OverFlowException` - The value of `numStr` is greater than the maximum value or less than the minimum value of `OracleDecimal`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure "OracleGlobalization Class" "Globalization Support"

### Round

This method returns a new `OracleDecimal` structure with its value set to that of the supplied `OracleDecimal` structure and rounded off to the specified place.

Declaration

    // C#
    public static OracleDecimal Round(OracleDecimal val, int decplace);

Parameters

- `val`

  An `OracleDecimal` structure.

- `decplace`

  The specified decimal place. If the value is positive, the function rounds the `OracleDecimal` structure to the right of the decimal point. If the value is negative, the function rounds to the left of the decimal point.

Return Value

An `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### SetPrecision

This method returns a new `OracleDecimal` structure with a new specified precision.

Declaration

    // C#
    public static OracleDecimal SetPrecision(OracleDecimal val, int precision);

Parameters

- `val`

  An `OracleDecimal` structure.

- `precision`

  The specified precision. Range of precision is 1 to 38.

Return Value

An `OracleDecimal` structure.

Remarks

The returned `OracleDecimal` is rounded off if the specified precision is smaller than the precision of `val`.

If `val` has a null value, the returned `OracleDecimal` has a null value.

Example

    // C#

    using System;
    using Oracle.DataAccess.Types;

    class SetPrecisionSample
    {
      static void Main(string[] args)
      {
        OracleDecimal dec1 = new OracleDecimal(555.6666);

        // Set the precision of dec1 to 3
        OracleDecimal dec2 = OracleDecimal.SetPrecision(dec1, 3);

        // Prints 556
        Console.WriteLine(dec2.ToString());

        // Set the precision of dec1 to 4
        OracleDecimal dec3 = OracleDecimal.SetPrecision(dec1, 4);

        // Prints 555.7
        Console.WriteLine(dec3.ToString());
      }
    }

See Also: "Oracle.DataAccess.Types Namespace""Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Shift

This method returns a new `OracleDecimal` structure with its value set to that of the supplied `OracleDecimal` structure, and its decimal place shifted to the specified number of places to the right.

Declaration

    // C#
    public static OracleDecimal Shift(OracleDecimal val, int decplaces);

Parameters

- `val`

  An `OracleDecimal` structure.

- `decplaces`

  The specified number of places to be shifted.

Return Value

An `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

If `decplaces` is negative, the shift is to the left.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Sign

This method determines the sign of an `OracleDecimal` structure.

Declaration

    // C#
    public static int Sign(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

- `-1`: if the supplied `OracleDecimal` `<` 0

- `0`: if the supplied `OracleDecimal` `==` 0

- `1`: if the supplied `OracleDecimal` `>` 0

Exceptions

`OracleNullValueException` - The argument has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Sqrt

This method returns a new `OracleDecimal` structure with its value set to the square root of the supplied `OracleDecimal` structure.

Declaration

    // C#
    public static OracleDecimal Sqrt(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal` structure.

Exceptions

`ArgumentOutOfRangeException` - The provided `OracleDecimal` structure is less than zero.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Subtract

This method returns a new `OracleDecimal` structure with its value set to result of subtracting one `OracleDecimal` structure from another.

Declaration

    // C#
    public static OracleDecimal Subtract(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  An `OracleDecimal` structure.

- `val2`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Truncate

This method truncates the `OracleDecimal` at a specified position.

Declaration

    // C#
    public static OracleDecimal Truncate(OracleDecimal val, int pos);

Parameters

- `val`

  An `OracleDecimal` structure.

- `pos`

  The specified position. If the value is positive, the function truncates the `OracleDecimal` structure to the right of the decimal point. If the value is negative, it truncates the `OracleDecimal` structure to the left of the decimal point.

Return Value

An `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Static (Logarithmic) Methods

The `OracleDecimal` static (logarithmic) methods are listed in Table 11-41.

Table 11-41 OracleDecimal Static (Logarithmic) Methods

Methods | Description
--- | ---
Exp | Returns a new `OracleDecimal` structure with its value set to e raised to the supplied power
Log | Returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure (Overloaded)
Pow | Returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` structure raised to the supplied power (Overloaded)

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Exp

This method returns a new `OracleDecimal` structure with its value set to e raised to the supplied `OracleDecimal`.

Declaration

    // C#
    public static OracleDecimal Exp(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal` structure.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Log

`Log` returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure.

Overload List:

- Log(OracleDecimal)

  This method returns a new `OracleDecimal` structure with its value set to the natural logarithm (base e) of the supplied `OracleDecimal` structure.

- Log(OracleDecimal, int)

  This method returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure in the supplied base.

- Log(OracleDecimal, OracleDecimal)

  This method returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure in the supplied base.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Log(OracleDecimal)

This method returns a new `OracleDecimal` structure with its value set to the natural logarithm (base e) of the supplied `OracleDecimal` structure.

Declaration

    // C#
    public static OracleDecimal Log(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure whose logarithm is to be calculated.

Return Value

Returns a new `OracleDecimal` structure with its value set to the natural logarithm (base e) of `val`.

Exceptions

`ArgumentOutOfRangeException` - The supplied `OracleDecimal` value is less than zero.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

If the supplied `OracleDecimal` structure has zero value, the result is undefined, and the returned `OracleDecimal` structure has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Log(OracleDecimal, int)

This method returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure in the supplied base.

Declaration

    // C#
    public static OracleDecimal Log(OracleDecimal val, int logBase);

Parameters

- `val`

  An `OracleDecimal` structure whose logarithm is to be calculated.

- `logBase`

  An `int` that specifies the base of the logarithm.

Return Value

A new `OracleDecimal` structure with its value set to the logarithm of `val` in the supplied base.

Exceptions

`ArgumentOutOfRangeException` - Either argument is less than zero.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

If both arguments have zero value, the result is undefined, and the returned `OracleDecimal` structure has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Log(OracleDecimal, OracleDecimal)

This method returns the supplied `OracleDecimal` structure with its value set to the logarithm of the supplied `OracleDecimal` structure in the supplied base.

Declaration

    // C#
    public static OracleDecimal Log(OracleDecimal val, OracleDecimal logBase);

Parameters

- `val`

  An `OracleDecimal` structure whose logarithm is to be calculated.

- `logBase`

  An `OracleDecimal` structure that specifies the base of the logarithm.

Return Value

Returns the logarithm of `val` in the supplied base.

Exceptions

`ArgumentOutOfRangeException` - Either the `val` or `logBase` parameter is less than zero.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

If both arguments have zero value, the result is undefined, and the returned `OracleDecimal` structure has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Pow

`Pow` returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` structure raised to the supplied power.

Overload List:

- Pow(OracleDecimal, int)

  This method returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` value raised to the supplied `Int32` power.

- Pow(OracleDecimal, OracleDecimal)

  This method returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` structure raised to the supplied `OracleDecimal` power.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Pow(OracleDecimal, int)

This method returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` value raised to the supplied `Int32` power.

Declaration

    // C#
    public static OracleDecimal Pow(OracleDecimal val, int power);

Parameters

- `val`

  An `OracleDecimal` structure.

- `power`

  An `int` value that specifies the power.

Return Value

An `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Pow(OracleDecimal, OracleDecimal)

This method returns a new `OracleDecimal` structure with its value set to the supplied `OracleDecimal` structure raised to the supplied `OracleDecimal` power.

Declaration

    // C#
    public static OracleDecimal Pow(OracleDecimal val, OracleDecimal power);

Parameters

- `val`

  An `OracleDecimal` structure.

- `power`

  An `OracleDecimal` structure that specifies the power.

Return Value

An `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Static (Trigonometric) Methods

The `OracleDecimal` static (trigonometric) methods are listed in Table 11-42.

Table 11-42 OracleDecimal Static (Trigonometric) Methods

Methods | Description
--- | ---
Acos | Returns an angle in radian whose cosine is the supplied `OracleDecimal` structure
Asin | Returns an angle in radian whose sine is the supplied `OracleDecimal` structure
Atan | Returns an angle in radian whose tangent is the supplied `OracleDecimal` structure
Atan2 | Returns an angle in radian whose tangent is the quotient of the two supplied `OracleDecimal` structures
Cos | Returns the cosine of the supplied angle in radian
Sin | Returns the sine of the supplied angle in radian
Tan | Returns the tangent of the supplied angle in radian
Cosh | Returns the hyperbolic cosine of the supplied angle in radian
Sinh | Returns the hyperbolic sine of the supplied angle in radian
Tanh | Returns the hyperbolic tangent of the supplied angle in radian

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Acos

This method returns an angle in radian whose cosine is the supplied `OracleDecimal` structure.

Declaration

    // C#
    public static OracleDecimal Acos(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure. Range is (-1 to 1).

Return Value

An `OracleDecimal` structure that represents an angle in radian.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Asin

This method returns an angle in radian whose sine is the supplied `OracleDecimal` structure.

Declaration

    // C#
    public static OracleDecimal Asin(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure. Range is (-1 to 1).

Return Value

An `OracleDecimal` structure that represents an angle in radian.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Atan

This method returns an angle in radian whose tangent is the supplied `OracleDecimal` structure

Declaration

    // C#
    public static OracleDecimal Atan(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal`.

Return Value

An `OracleDecimal` structure that represents an angle in radian.

Remarks

If the argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Atan2

This method returns an angle in radian whose tangent is the quotient of the two supplied `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal Atan2(OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  An `OracleDecimal` structure that represents the y-coordinate.

- `val2`

  An `OracleDecimal` structure that represents the x-coordinate.

Return Value

An `OracleDecimal` structure that represents an angle in radian.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Cos

This method returns the cosine of the supplied angle in radian.

Declaration

    // C#
    public static OracleDecimal Cos(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure that represents an angle in radian.

Return Value

An `OracleDecimal` instance.

Exceptions

`ArgumentOutOfRangeException` - The `val` parameter is positive or negative infinity.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Sin

This method returns the sine of the supplied angle in radian.

Declaration

    // C#
    public static OracleDecimal Sin(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

An `OracleDecimal` structure that represents an angle in radian.

Exceptions

`ArgumentOutOfRangeException` - The `val` parameter is positive or negative infinity.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Tan

This method returns the tangent of the supplied angle in radian.

Declaration

    // C#
    public static OracleDecimal Tan(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure that represents an angle in radian.

Return Value

An `OracleDecimal` instance.

Exceptions

`ArgumentOutOfRangeException` - The `val` parameter is positive or negative infinity.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Cosh

This method returns the hyperbolic cosine of the supplied angle in radian.

Declaration

    // C#
    public static OracleDecimal Cosh(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure that represents an angle in radian.

Return Value

An `OracleDecimal` instance.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Sinh

This method returns the hyperbolic sine of the supplied angle in radian.

Declaration

    // C#
    public static OracleDecimal Sinh(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure that represents an angle in radian.

Return Value

An `OracleDecimal` instance.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Tanh

This method returns the hyperbolic tangent of the supplied angle in radian.

Declaration

    // C#
    public static OracleDecimal Tanh(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure that represents an angle in radian.

Return Value

An `OracleDecimal` instance.

Remarks

If either argument has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Static (Comparison) Operators

The `OracleDecimal` static (comparison) operators are listed in Table 11-43.

Table 11-43 OracleDecimal Static (Comparison) Operators

Operator | Description
--- | ---
operator + | Adds two `OracleDecimal` values
operator / | Divides one `OracleDecimal` value by another
operator == | Determines if the two `OracleDecimal` values are equal
operator > | Determines if the first of two `OracleDecimal` values is greater than the second
operator >= | Determines if the first of two `OracleDecimal` values is greater than or equal to the second
operator != | Determines if the two `OracleDecimal` values are not equal
operator < | Determines if the first of two `OracleDecimal` values is less than the second
operator <= | Determines if the first of two `OracleDecimal` values is less than or equal to the second
operator * | Multiplies two `OracleDecimal` structures
operator - | Subtracts one `OracleDecimal` structure from another
operator - | Negates an `OracleDecimal` structure
operator% | Returns a new `OracleDecimal` structure with its value set to the modulus of two `OracleDecimal` structures.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator +

This method adds two `OracleDecimal` values.

Declaration

    // C#
    public static OracleDecimal operator + (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

An `OracleDecimal` structure.

Remarks

If either operand has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator /

This method divides one `OracleDecimal` value by another.

Declaration

    / C#
    public static OracleDecimal operator / (OracleDecimal val1, OracleDecimal val2)

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

The second `OracleDecimal`.

Return Value

An `OracleDecimal` structure.

Remarks

If either operand has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator ==

This method determines if two `OracleDecimal` values are equal.

Declaration

    // C#
    public static bool operator == (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns `true` if their values are equal; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator >

This method determines if the first of two `OracleDecimal` values is greater than the second.

Declaration

    // C#
    public static bool operator > (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the two `OracleDecimal` values are not equal; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator >=

This method determines if the first of two `OracleDecimal` values is greater than or equal to the second.

Declaration

    // C#
    public static bool operator >= (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the first of two `OracleDecimal` values is greater than or equal to the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator !=

This method determines if the first of two `OracleDecimal` values are not equal.

Declaration

    // C#
    public static bool operator != (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the two `OracleDecimal` values are not equal; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator <

This method determines if the first of two `OracleDecimal` values is less than the second.

Declaration

    // C#
    public static bool operator < (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the first of two `OracleDecimal` values is less than the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator <=

This method determines if the first of two `OracleDecimal` values is less than or equal to the second.

Declaration

    // C#
    public static bool operator <= (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

Returns `true` if the first of two `OracleDecimal` values is less than or equal to the second; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator *

This method multiplies two `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal operator * (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

A new `OracleDecimal` structure.

Remarks

If either operand has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator -

This method subtracts one `OracleDecimal` structure from another.

Declaration

    // C#
    public static OracleDecimal operator - (OracleDecimal val1, OracleDecimal val2);

Parameters

- `val1`

  The first `OracleDecimal`.

- `val2`

  The second `OracleDecimal`.

Return Value

A new `OracleDecimal` structure.

Remarks

If either operand has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator -

This method negates the supplied `OracleDecimal` structure.

Declaration

    // C#
    public static OracleDecimal operator - (OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal`.

Return Value

A new `OracleDecimal` structure.

Remarks

If the supplied `OracleDecimal` structure has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### operator%

This method returns a new `OracleDecimal` structure with its value set to the modulus of two `OracleDecimal` structures.

Declaration

    // C#
    public static OracleDecimal operator % (OracleDecimal val,
        OracleDecimal divider);

Parameters

- `val`

  An `OracleDecimal`.

- `divider`

  An `OracleDecimal`.

Return Value

A new `OracleDecimal` structure.

Remarks

If either operand has a null value, the returned `OracleDecimal` has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Static Operators (Conversion from .NET Type to OracleDecimal)

The `OracleDecimal` static operators (Conversion from .NET Type to `OracleDecimal`) are listed in Table 11-44.

Table 11-44 OracleDecimal Static Operators (Conversion from .NET Type to OracleDecimal)

Operator | Description
--- | ---
implicit operator OracleDecimal | Converts an instance value to an `OracleDecimal` structure (Overloaded)
explicit operator OracleDecimal | Converts an instance value to an `OracleDecimal` structure (Overloaded)

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### implicit operator OracleDecimal

`implicit` `operator` `OracleDecimal` returns the `OracleDecimal` representation of a value.

Overload List:

- implicit operator OracleDecimal(decimal)

  This method returns the `OracleDecimal` representation of a `decimal` value.

- implicit operator OracleDecimal(int)

  This method returns the `OracleDecimal` representation of an `int` value.

- implicit operator OracleDecimal(long)

  This method returns the `OracleDecimal` representation of a `long` value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### implicit operator OracleDecimal(decimal)

This method returns the `OracleDecimal` representation of a `decimal` value.

Declaration

    // C#
    public static implicit operator OracleDecimal(decimal val);

Parameters

- `val`

  A `decimal` value.

Return Value

An `OracleDecimal`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### implicit operator OracleDecimal(int)

This method returns the `OracleDecimal` representation of an `int` value.

Declaration

    // C#
    public static implicit operator OracleDecimal(int val);

Parameters

- `val`

  An `int` value.

Return Value

An `OracleDecimal`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### implicit operator OracleDecimal(long)

This method returns the `OracleDecimal` representation of a `long` value.

Declaration

    // C#
    public static implicit operator OracleDecimal(long val);

Parameters

- `val`

  A `long` value.

Return Value

An `OracleDecimal`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator OracleDecimal

`OracleDecimal` returns the `OracleDecimal` representation of a value.

Overload List:

- explicit operator OracleDecimal(double)

  This method returns the `OracleDecimal` representation of a double.

- explicit operator OracleDecimal(string)

  This method returns the `OracleDecimal` representation of a string.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator OracleDecimal(double)

This method returns the `OracleDecimal` representation of a double.

Declaration

    // C#
    public static explicit operator OracleDecimal(double val);

Parameters

- `val`

  A `double`.

Return Value

An `OracleDecimal`.

Exceptions

`OverFlowException` - The value of the supplied `double` is greater than the maximum value of `OracleDecimal` or less than the minimum value of `OracleDecimal`.

Remarks

`OracleDecimal` contains the following values depending on the provided double value:

- `double.PositiveInfinity`: positive infinity value

- `double.NegativeInfinity`: negative infinity value.

- `double.NaN`: null value

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator OracleDecimal(string)

This method returns the `OracleDecimal` representation of a string.

Declaration

    // C#
    public static explicit operator OracleDecimal(string numStr);

Parameters

- `numStr`

  A `string` that represents a numeric value.

Return Value

An `OracleDecimal`.

Exceptions

`ArgumentException` - The `numStr` parameter is an invalid string representation of an `OracleDecimal`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure "OracleGlobalization Class" "Globalization Support"

## OracleDecimal Static Operators (Conversion from OracleDecimal to .NET)

The `OracleDecimal` static operators (Conversion from `OracleDecimal` to .NET) are listed in Table 11-45.

Table 11-45 OracleDecimal Static Operators (Conversion from OracleDecimal to .NET)

Operator | Description
--- | ---
explicit operator byte | Returns the `byte` representation of the `OracleDecimal` value
explicit operator decimal | Returns the `decimal` representation of the `OracleDecimal` value
explicit operator double | Returns the `double` representation of the `OracleDecimal` value
explicit operator short | Returns the `short` representation of the `OracleDecimal` value
explicit operator int | Returns the `int` representation of the `OracleDecimal` value
explicit operator long | Returns the `long` representation of the `OracleDecimal` value
explicit operator float | Returns the `float` representation of the `OracleDecimal` value

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator byte

This method returns the `byte` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator byte(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A `byte`.

Exceptions

`OracleNullValueException` - `OracleDecimal` has a null value.

`OverFlowException`- The `byte` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator decimal

This method returns the `decimal` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator decimal(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A `decimal`.

Exceptions

`OracleNullValueException` - The `OracleDecimal` has a null value.

`OverFlowException` - The `decimal` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator double

This method returns the `double` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator double(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A `double`.

Exceptions

`OracleNullValueException` - The `OracleDecimal` has a null value.

`OverFlowException` - The `double` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator short

This method returns the `short` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator short(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A `short`.

Exceptions

`OracleNullValueException` - The `OracleDecimal` has a null value.

`OverFlowException` - The `short` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator int

This method returns the `int` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator int(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

An `int`.

Exceptions

`OracleNullValueException` - The `OracleDecimal` has a null value.

`OverFlowException` - The `int` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator long

This method returns the `long` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator long(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A `long`.

Exceptions

`OracleNullValueException` - The `OracleDecimal` has a null value.

`OverFlowException` - The `long` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### explicit operator float

This method returns the `float` representation of the `OracleDecimal` value.

Declaration

    // C#
    public static explicit operator float(OracleDecimal val);

Parameters

- `val`

  An `OracleDecimal` structure.

Return Value

A `float`.

Exceptions

`OracleNullValueException` - The `OracleDecimal` has a null value.

`OverFlowException` - The `float` cannot represent the supplied `OracleDecimal` structure.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Properties

The `OracleDecimal` properties are listed in Table 11-46.

Table 11-46 OracleDecimal Properties

Properties | Description
--- | ---
BinData | Returns a byte array that represents the Oracle `NUMBER` in Oracle internal format
Format | Specifies the format for `ToString()`
IsInt | Indicates whether or not the current instance is an integer
IsNull | Indicates whether or not the current instance has a null value
IsPositive | Indicates whether or not the current instance is greater than `0`
IsZero | Indicates whether or not the current instance has a `zero` value
Value | Returns a `decimal` value

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### BinData

This property returns a byte array that represents the Oracle `NUMBER` in an internal Oracle format.

Declaration

    // C#
    public byte[] BinData {get;}

Property Value

A byte array that represents the Oracle `NUMBER` in an internal Oracle format.

Exceptions

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Format

This property specifies the format for `ToString()`.

Declaration

    // C#
    public string Format {get; set;}

Property Value

The string which specifies the format.

Remarks

`Format` is used when `ToString()` is called on an instance of an `OracleDecimal`. It is useful if the `ToString()` method needs a specific currency symbol, group, or decimal separator as part of a string.

By default, this property is `null` which indicates that no special formatting is used.

The decimal and group separator characters are specified by the thread's `OracleGlobalization.NumericCharacters`.

The currency symbols are specified by the following thread properties:

- `OracleGlobalization.Currency`

- `OracleGlobalization.ISOCurrency`

- `OracleGlobalization.DualCurrency`

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure "OracleGlobalization Class" "Globalization Support"

### IsInt

This property indicates whether or not the current instance is an integer value.

Declaration

    // C#
    public bool IsInt {get;}

Property Value

A `bool` value that returns `true` if the current instance is an integer value; otherwise, returns `false`.

Exceptions

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### IsNull

This property indicates whether or not the current instance has a null value.

Declaration

    // C#
    public bool IsNull {get;}

Property Value

A `bool` value that returns `true` if the current instance has a null value; otherwise, returns `false`.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### IsPositive

This property indicates whether or not the value of the current instance is greater than `0`.

Declaration

    // C#
    public bool IsPositive {get;}

Property Value

A `bool` value that returns `true` if the current instance is greater than `0`; otherwise, returns `false`.

Exceptions

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### IsZero

This property indicates whether or not the current instance has a zero value.

Declaration

    // C#
    public bool IsZero{get;}

Property Value

A `bool` value that returns `true` if the current instance has a zero value; otherwise, returns `false`.

Exceptions

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Value

This method returns a `decimal` value.

Declaration

    // C#
    public decimal Value {get;}

Property Value

A `decimal` value.

Exceptions

`OracleNullValueException` - The current instance has a null value.

`OverFlowException` - The `decimal` cannot represent the supplied `OracleDecimal` structure.

Remarks

Precision can be lost when the `decimal` value is obtained from an `OracleDecimal`. See Remarks under "OracleDecimal Structure" for further information.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

## OracleDecimal Instance Methods

The `OracleDecimal` instance methods are listed in Table 11-47.

Table 11-47 OracleDecimal Instance Methods

Method | Description
--- | ---
CompareTo | Compares the current instance to the supplied object and returns an integer that represents their relative values
Equals | Determines whether or not an object is an instance of `OracleDecimal`, and whether or not the value of the object is equal to the current instance (Overloaded)
GetHashCode | Returns a hash code for the current instance
GetType | Inherited from `Object`
ToByte | Returns the `byte` representation of the current instance
ToDouble | Returns the `double` representation of the current instance
ToInt16 | Returns the `Int16` representation of the current instance
ToInt32 | Returns the `Int32` representation of the current instance
ToInt64 | Returns the `Int64` representation of the current instance
ToSingle | Returns the `Single` representation of the current instance
ToString | Overloads `Object.ToString()` Returns the `string` representation of the current instance

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### CompareTo

This method compares the current instance to the supplied object and returns an integer that represents their relative values.

Declaration

    // C#
    public int CompareTo(object obj);

Parameters

- `obj`

  The supplied instance.

Return Value

The method returns a number:

- Less than zero: if the value of the current instance is less than `obj``.`

- Zero: if the value of the current instance is equal to `obj`.

- Greater than zero: if the value of the current instance is greater than `obj`.

Implements

`IComparable`

Exceptions

`ArgumentException` - The parameter is not of type `OracleDecimal`.

Remarks

The following rules apply to the behavior of this method.

- The comparison must be between `OracleDecimal`s. For example, comparing an `OracleDecimal` instance with an `OracleBinary` instance is not allowed. When an `OracleDecimal` is compared with a different type, an `ArgumentException` is thrown.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### Equals

Overrides `Object`

This method determines whether or not an object is an instance of `OracleDecimal`, and whether or not the value of the object is equal to the current instance.

Declaration

    // C#
    public override bool Equals(object obj);

Parameters

- `obj`

  An `OracleDecimal` instance.

Return Value

Returns `true` if `obj` is an instance of `OracleDecimal`, and the value of `obj` is equal to the current instance; otherwise, returns `false`.

Remarks

The following rules apply to the behavior of this method.

- Any `OracleDecimal` that has a value compares greater than an `OracleDecimal` that has a null value.

- Two `OracleDecimal`s that contain a null value are equal.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### GetHashCode

Overrides `Object`

This method returns a hash code for the current instance.

Declaration

    // C#
    public override int GetHashCode();

Return Value

Returns a hash code.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToByte

This method returns the `byte` representation of the current instance.

Declaration

    // C#
    public byte ToByte();

Return Value

A `byte`.

Exceptions

`OverFlowException` - The `byte` cannot represent the current instance.

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToDouble

This method returns the `double` representation of the current instance.

Declaration

    // C#
    public double ToDouble();

Return Value

A `double`.

Exceptions

`OverFlowException` - The `double` cannot represent the current instance.

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToInt16

This method returns the `Int16` representation of the current instance.

Declaration

    // C#
    public short ToInt16();

Return Value

A `short`.

Exceptions

`OverFlowException` - The `short` cannot represent the current instance.

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToInt32

This method returns the `Int32` representation of the current instance.

Declaration

    // C#
    public int ToInt32();

Return Value

An `int`.

Exceptions

`OverFlowException` - The `int` cannot represent the current instance.

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToInt64

This method returns the `Int64` representation of the current instance.

Declaration

    // C#
    public long ToInt64();

Return Value

A `long`.

Exceptions

`OverFlowException` - The `long` cannot represent the current instance.

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToSingle

This method returns the `Single` representation of the current instance.

Declaration

    // C#
    public float ToSingle();

Return Value

A `float`.

Exceptions

`OverFlowException` - The `float` cannot represent the current instance.

`OracleNullValueException` - The current instance has a null value.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure

### ToString

Overrides `Object`

This method returns the `string` representation of the current instance.

Declaration

    // C#
    public override string ToString();

Return Value

Returns the number in a string.

Remarks

If the current instance has a null value, the returned string is "null".

The returned value is a string representation of an `OracleDecimal` in the numeric format specified by the `Format` property.

The decimal and group separator characters are specified by the thread's `OracleGlobalization`.`NumericCharacters`.

The currency symbols are specified by the following thread properties:

- `OracleGlobalization.Currency`

- `OracleGlobalization`.`ISOCurrency`

- `OracleGlobalization`.`DualCurrency`

If the numeric format is not specified, an Oracle default value is used.

See Also: "Oracle.DataAccess.Types Namespace" OracleDecimal Members OracleDecimal Structure "OracleGlobalization Class" "Globalization Support"